# 引入公共模块
from MY_ECShop.common.base import create_browser, Base
import time


class PageBackgroundLogin(Base):
    # 定义属性
    url = "http://localhost:8080/ecshop/admin/privilege.php?act=login"
    x_cross_sign = ('css selector', 'span[onclick="btnCancel(this)"]')  # x号
    round_button = ('id', 'cloudLogin')  # ECshop圆形按钮
    username = ('name', 'username')  # 后台登录用户名输入框
    password = ('name', 'password')  # 后台登录密码输入框
    remember = ('css selector', 'label[for="remember"]')  # 点击自动登录按钮
    background_login = ('class name', 'btn-a')  # 后台登录按钮
    iframe_element = ('name', 'menu-frame')  # 进入iframe窗口
    is_success = ("css selector", "div[id='foot-div']>a")  # 定位登陆后的用户名

    # 定义方法
    def page_background_open_web(self):
        """
        打开后台登录网址,访问登录页面
        :return:
        """
        self.base_open_web(self.url)

    def page_background_x(self):
        """
        点击x号
        :return:
        """
        self.base_click(self.x_cross_sign)

    def page_background_button(self):
        """
        点击ECshop圆形按钮
        :return:
        """
        self.base_click(self.round_button)

    def page_background_username(self, page_username):
        """
        输入后台登录用户名
        :param page_username: 登录用户名输入框
        :return:
        """

        self.base_input_massage(self.username, page_username)

    def page_background_password(self, page_password):
        """
        输入后台登录密码
        :param page_password: 登录密码输入框
        :return:
        """
        self.base_input_massage(self.password, page_password)

    def page_selected_remember(self):
        """
        #点击自动登录按钮
        :return:
        """
        self.base_click(self.remember)

    def page_background_login_button(self):
        """
        点击后台登录按钮
        :return:
        """
        self.base_click(self.background_login)

    def page_background_is_success(self):
        self.base_into_iframe_window(self.iframe_element)
        result = self.base_get_text(self.is_success)
        return result

    def page_background_quit_web(self):
        """
        关闭谷歌浏览器
        :return:
        """
        self.base_quit_web()


if __name__ == '__main__':
    driver = create_browser()  # 创建一个浏览器对象
    bl1 = PageBackgroundLogin(driver)  # 实例化一个ECshop后台登录对象
    bl1.page_background_open_web()  # 进入ECshop后台登录页面
    bl1.page_background_x()  # 点击x号
    bl1.page_background_button()  # 点击ECshop圆形按钮
    bl1.page_background_username("root")  # 输入后台登录用户名
    bl1.page_background_password("root123456")  # 输入后台登录密码
    bl1.page_selected_remember()  # 点击自动登录
    bl1.page_background_login_button()  # 点击后台登录按钮
    # 获取后台登录后的用户名
    time.sleep(5)
    result = bl1.page_background_is_success()
    print(result)
    bl1.page_background_quit_web()  # 关闭谷歌浏览器
